home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / GRAPTIES / ICONMKR.LZH / IM.DOC < prev    next >
Text File  |  1985-10-17  |  17KB  |  523 lines

  1.                                  ICON MAKER
  2.       
  3.        I   wrote  this  program  as  a result of  a  frustration   that  
  4.        I  experienced   in  trying  to put dot graphics  data  into   a  
  5.        data segment  area  using define byte  statements.   The  colors 
  6.        and  dots  just  did not seem to be easy  to  convert  into  the 
  7.        desired  bytes.    Other  programs  allowed   the  creation   of 
  8.        graphics  which  could  be  read from disc and  displayed  by  a 
  9.        program  but  I  wanted  to  put  the  data directly  into   the  
  10.        program data area.  Therefore,  I wrote this program to allow me 
  11.        to do just that.
  12.  
  13.        All three of the graphics modes are supported,  the 640 X 200 two 
  14.        color, the 320 X 200 four color, and the 160 X 100 sixteen color.  
  15.        The first two are supported by the ROM BIOS, the later is not.  I 
  16.        have included a file on this disk that is a reprint of an article 
  17.        that I wrote for the North Texas IBM PC News that explains how to 
  18.        produce graphics for this mode. 
  19.        
  20.        Aditionally, as I worked with this program, it occured to me that 
  21.        it  could be used to produce patterns for needlework of the  type 
  22.        called  counted cross stitch.   That is why I included the  print 
  23.        option to allow those patterns to be created and edited on screen 
  24.        and then the pattern printed. 
  25.        
  26.        The  save option allows the data presented on screen to be  saved 
  27.        into  an ASCII file that can be inserted into the data segment of 
  28.        your MASM programs to define the graphics you have created. 
  29.        
  30.        I  hope it will be fun for you and will help you create  graphics 
  31.        for your programs as it did for me. 
  32.        
  33.        I  am  releasing  the  program to the public  domain  as  a  user 
  34.        supported program.   If you like it and find that using it  helps 
  35.        you  in your program generation or your needlework,  show me that 
  36.        you  do  by providing support.   A registered  user  has  certain 
  37.        advantages.   You  will receive notification of all updates and a 
  38.        copy of the source code.   The registration fee is a ridiculously 
  39.        low ten bucks.   When you register,  let me know if you want  the 
  40.        source code so that you may alter it to suit your needs.   I will 
  41.        send it to you for the cost of mailing which is five dollars.
  42.         
  43.        The   program   is written in the C language and  compiled  with  
  44.        the  Lattice  C compiler.    There are a few  assembly  language  
  45.        routines that  are  callable  from C.    It does not use any   C 
  46.        library.    All  of the support graphics functions  are included  
  47.        in the source code.    This includes the three  routines written  
  48.        in  assembly  language that write  the  graphical  data produced 
  49.        by the program to the screen.
  50.  
  51.        You  have heard all of the good reasons that you  should  support 
  52.        the user supported programs so I will not repeat them.   All that 
  53.        I  ask is that you review some of those reasons in your own  mind 
  54.        and  that  if you do not wish to register,  copy this disc for  a 
  55.        friend.    Maybe  that friend will support the   program.  In any
  56.        event, have fun with it.       
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.                         REGISTRATION FORM
  69.  
  70.  
  71.  
  72. Mail to:
  73.  
  74. Sid Nolte
  75. 13858 Peyton Dr.
  76. Dallas, Texas 75240
  77.  
  78.  
  79.  
  80.  
  81. I liked the ICON MAKER program and want to be a registered user.
  82.  
  83.  
  84. Registration fee   ($10)_______________
  85.  
  86.  
  87. Send source code   ( $5)_______________
  88.  
  89.  
  90.             Total       _______________
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98. Your name _______________________________________________________________
  99.  
  100.  
  101. Your Adress _____________________________________________________________
  102.  
  103.  
  104. City, State, Zip ________________________________________________________
  105.  
  106.  
  107.  
  108.  
  109. Comments:_________________________________________________________________
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.       
  134.                                THE ICON MAKER 
  135.       
  136.                              TABLE OF CONTENTS
  137.       
  138.       Introduction................................................1
  139.       The Menus ..................................................1
  140.         Starting Menu.............................................1
  141.         The Size Menu.............................................1
  142.         The Graphics Mode Menu....................................2
  143.         Read from File Menu.......................................2
  144.         Save to File Menu.........................................2
  145.         The Quit Menu.............................................2
  146.       Graphics Creation...........................................3
  147.        The Arrow Keys.............................................3
  148.        Move.......................................................3
  149.        Erase......................................................3
  150.        Draw.......................................................3
  151.        Color......................................................3
  152.        Palette....................................................4
  153.        Invert.....................................................4
  154.        Save.......................................................4
  155.        Line Printer...............................................4
  156.        Quit.......................................................5
  157.        Background.................................................5
  158.        Graphics...................................................5
  159.       
  160.       
  161.       
  162.       
  163.       
  164.       
  165.       
  166.       
  167.       
  168.       
  169.       
  170.       
  171.       
  172.       
  173.       
  174.       
  175.       
  176.       
  177.       
  178.       
  179.       
  180.       
  181.       
  182.       
  183.       
  184.       
  185.       
  186.       
  187.       
  188.       
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.       INTRODUCTION
  202.       
  203.       Icon  Maker  is a program to allow you to create graphical  icons 
  204.       and cross stitch graphics interactively in any of three graphical 
  205.       modes supported by the IBM PC family.   These three modes include 
  206.       the  high  resolution 640 X 200 two color,  the 320  X  200  four 
  207.       color,  and the 160 X 100 sixteen color.   The latter mode is not 
  208.       supported by the ROM BIOS services. The Icon Maker will print the 
  209.       graphics  in a form suitable for the formation of a cross  stitch 
  210.       pattern.   The graphics produced may be saved in such a form that 
  211.       it can be directly inserted into the source of a MASM program for 
  212.       use in graphical programs you may produce.
  213.       
  214.       I have found that producing the dot by dot representation of data 
  215.       to be included into a program is extremely tedious.   I wrote the 
  216.       program as an aid in that process.
  217.       
  218.       Most of the features of the program may be accessed by  selecting 
  219.       the  options  displayed  on the screen and by responding  to  the 
  220.       displayed menus.   However, the following short descriptions will 
  221.       enable you get a quick view of the capabilities of the program.
  222.       
  223.       Have fun.
  224.       
  225.       
  226.       THE MENUS
  227.       
  228.       There  are a number of options available to you in the Icon Maker 
  229.       program.  In order to reach any of these options such as the mode 
  230.       of the graphics produced.  These menus are distinguishable by the 
  231.       red  bordered blue boxes displayed in the 80 column  color  mode.  
  232.       The  title screen illustrates some of the graphics that might  be 
  233.       produced by the program.  After you have seen it and it no longer 
  234.       is  of interest,  any key will pass you on to the main  selection 
  235.       menu.
  236.       
  237.       
  238.       THE STARTING MENU
  239.       
  240.       This  menu  provides for the selection of either creating  a  new 
  241.       graphics  shape  or reading one that you have previously  created 
  242.       for further editing.   After you have created your graphics,  you 
  243.       will  be returned to this menu for selection of another  activity 
  244.       or for returning to DOS.
  245.       
  246.       
  247.       THE SIZE MENU
  248.       
  249.       If  you  have  chosen to create a new icon  shape,  you  will  be 
  250.       requested  for the height and width of the shape  produced.   The 
  251.       graphics  editing  is  done  on screen in a 50 high  by  60  wide 
  252.       working area.   However, you may work on one much larger, that is 
  253.       100 high by 120 wide.   The program will display the current 50 X 
  254.       60 area in the display window.
  255.       
  256.       
  257.  
  258.  
  259.  
  260.                                    1
  261.  
  262.  
  263.  
  264.  
  265.     THE GRAPHICS MODE MENU
  266.  
  267.     After selecting the size of the icon you have created,  you  will 
  268.     be  requested to select one of the three graphics modes supported 
  269.     by the program.  The selections presented are the high resolution 
  270.     640  X 200 two color mode,  the medium resolution 320 X  200  two 
  271.     color mode, or the low resolution 160 X 100 sixteen color mode.
  272.  
  273.     READ FROM FILE MENU
  274.  
  275.     In  the event that you have determined that you wish  to  perform 
  276.     editing  on a previously defined graphics shape by selecting that 
  277.     option from the starting menu,  this menu will appear.   You  are 
  278.     directed to enter the name of the file.   This must be a DOS file 
  279.     name of the file that contains your graphics shape.  In the event 
  280.     that the named file can not be found or if you have not entered a 
  281.     proper  file  name,  you  will be directed to either  re-enter  a 
  282.     proper  file name or return to the starting menu by pressing  the 
  283.     escape key.
  284.  
  285.  
  286.     SAVE TO FILE MENU
  287.  
  288.     At any time in the creation of your graphics forms, you may elect 
  289.     to save the completed or partially completed graphics.  This menu 
  290.     is selected by simply pressing the 'S' or 's' key.   Again,  this 
  291.     menu requests you to name a DOS file.   If a proper file name  is 
  292.     selected, the return key will cause the graphics data to be saved 
  293.     to the disk file named.  When the file has been written, you will 
  294.     be returned to the starting menu.
  295.  
  296.     The file that you have saved is an ASCII file that represents the 
  297.     graphics data.  It represents the dimensions of the shape and the 
  298.     data that will be written to the screen to display the shape.  It 
  299.     is  in  a form that is acceptable by the macro assembler (in  the 
  300.     form of dw and db statements) and can be used in the data segment 
  301.     of  your  program  to define your shape.   It is  preceded  by  a 
  302.     comment  statement which should not be disturbed if you  plan  to 
  303.     perform further graphics editing on this file.   The program uses 
  304.     this comment to determine the mode of the graphics data.  Each of 
  305.     the three graphics modes are written to the screen in a different 
  306.     manner so that those produced in one mode can not be displayed in 
  307.     another.
  308.  
  309.  
  310.     THE QUIT MENU
  311.  
  312.     The quit menu can be selected at any time in the icon creation by 
  313.     simply pressing the 'Q' or the 'q' key.   You will be warned that 
  314.     the  graphics will not be saved if you quit at that  time.   This 
  315.     menu is provided to allow you to quit the process at any time.
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                    2
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.       GRAPHICS CREATION
  332.  
  333.       After  you have selected the graphics mode either by  reading  an 
  334.       old  file or by selecting the size and mode for a new  icon,  you 
  335.       will  have  a number of options available to you at any  time  to 
  336.       allow you to perform the creation of the graphics.  Those options 
  337.       are displayed to you along the right edge of the screen.  Any one 
  338.       of them is selected by pressing the single key as displayed.
  339.  
  340.  
  341.       THE ARROW KEYS
  342.  
  343.       The  arrow  keys are the only active keys during icon  generation 
  344.       that  are not on the display option.   They direct the motion  of 
  345.       the  cursor  of course and include the four direction  arrows  as 
  346.       well as the "corner" direction.  For instance the "page up" arrow 
  347.       will move the cursor up and to the right.
  348.  
  349.  
  350.       MOVE
  351.  
  352.       The  move option is selected by pressing the 'M' or 'm' key.   It 
  353.       with  the  Erase and Draw option allows you to select  what  will 
  354.       happen when you move the cursor.   The move option allows you  to 
  355.       move  the  cursor from the current location to any  other  screen 
  356.       location without changing any of the state of any of the graphics 
  357.       over which you are moving.
  358.  
  359.  
  360.       ERASE
  361.  
  362.       The erase option is selected by pressing the 'E' or 'e' key.   It 
  363.       allows you to erase any area over which the cursor moves.
  364.  
  365.  
  366.       DRAW
  367.  
  368.       The  draw option is selected by pressing the 'D' or 'd' key.   It 
  369.       allows  you  to place the current active color at any  area  over 
  370.       which the cursor moves.
  371.  
  372.  
  373.       COLOR
  374.  
  375.       The color option is selected by pressing the 'C' or 'c' key.   It 
  376.       allows  you  to select the color of the graphics to be  produced.  
  377.       Pressing the key several times allows you to see that the  colors 
  378.       are selected in sequence.  The current color is displayed so that 
  379.       you  might  see  what color is active.   If the  draw  option  is 
  380.       active,  that  color  will be left behind at each of  the  cursor 
  381.       motions.
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.                                    3
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.       PALETTE
  398.  
  399.       The  palette  option is selected by pressing the 'P' or 'p'  key.  
  400.       It is valid only for 320 X 200 four color mode since that is  the 
  401.       only  graphics  mode for which a palette selection  is  utilized.  
  402.       This  key  causes  a switch between the two  available  palettes.  
  403.       When the data is saved to disc,  the state of the palette  switch 
  404.       is  not  preserved with the data so that you will be required  to 
  405.       restore the palette after recovering your data.
  406.  
  407.  
  408.       INVERT
  409.  
  410.       The invert option is selected by pressing the 'I' or 'i' key.  It 
  411.       will reveal to you three options as to how you wish to invert the 
  412.       icon  you  have thus far produced.   The 'H' key will invert  the 
  413.       image about the horizontal axis,  that is the top row becomes the 
  414.       bottom and the bottom row becomes the top.   The 'V' key  inverts 
  415.       the  image  about  the vertical axis.   The 'C' key  inverts  the 
  416.       color.   In  the two color mode,  black becomes white  and  white 
  417.       becomes black.  In the four color mode, all colors represented by 
  418.       the two bit value "X" becomes the two bit value "3 - X".   In the 
  419.       four  color  mode,  the four bit nibble representing one  of  the 
  420.       sixteen colors "X" becomes "15 - X".
  421.  
  422.  
  423.       SAVE
  424.  
  425.       The  save option is selected by pressing the 'S' or 's' key.   It 
  426.       will cause the save menu to be displayed and it will request  the 
  427.       file name for the file on which the icon graphics is to be saved.  
  428.       The  file  is  an ASCII file suitable to be included  in  a  MASM 
  429.       program  and is of the form of the dw and db statements  defining 
  430.       the  data represented.   This not only allows you to recall  your 
  431.       image  for  further editing but also allows for the inclusion  of 
  432.       your graphics into your program data segment.
  433.  
  434.  
  435.       LINE PRINTER
  436.  
  437.       The  line printer option is selected by pressing the 'L'  or  'l' 
  438.       key.   Unfortunately,  it  would  be  preferable  to  select  the 
  439.       printing  by  pressing the 'P' key but it is devoted  to  palette 
  440.       selection.    Selecting  the  printer  option  will  produce  the 
  441.       graphics  in two formats.   One format is in the form that may be 
  442.       used  as a "counted cross stitch" pattern with the color  legend.  
  443.       The other form is simply a very small dot for dot black on  white 
  444.       image of the drawing.
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.                                    4
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.       QUIT
  465.  
  466.       The  quit option is selected by pressing the 'Q' or 'q' key.   It 
  467.       allows  exit  from  the graphics production  without  saving  the 
  468.       image.   It  allows you to start over in the event that you  have 
  469.       decided  not to proceed with the current activity without  saving 
  470.       it to disc.
  471.  
  472.  
  473.       BACKGROUND
  474.  
  475.       The background option is selected by pressing the 'B' or 'b' key.  
  476.       It has meaning only for the color graphics modes and then  really 
  477.       only for the 320 X 200 graphics mode.
  478.       
  479.       
  480.       GRAPHICS
  481.       
  482.       The graphics mode is selected by pressing the 'G' or 'g' key.  It 
  483.       allows  you to see how the image will look when displayed in  the 
  484.       actual  mode  selected.   Actually the images are produced  in  a 
  485.       dimension  larger than that being produced.   This option  allows 
  486.       you  to  see how it will look if placed into the data segment  of 
  487.       your program and displayed in the mode selected.
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.                                    5